/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package negocio;

import controladores.SeguimientoBitacoraSemanalFacadeLocal;
import entidades.ConvenioXPeriodoXEstudiante;
import entidades.SeguimientoBitacoraSemanal;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.Resource;
import javax.ejb.EJB;
import javax.ejb.EJBContext;
import javax.ejb.Stateless;
import javax.ejb.TransactionManagement;
import javax.ejb.TransactionManagementType;
import javax.transaction.HeuristicMixedException;
import javax.transaction.HeuristicRollbackException;
import javax.transaction.NotSupportedException;
import javax.transaction.RollbackException;
import javax.transaction.SystemException;
import javax.transaction.UserTransaction;

/**
 *
 * @author BATAQUERO
 */
@Stateless(mappedName = "SeguimientoBitacoraSemanalEJB")
@TransactionManagement(TransactionManagementType.BEAN)
public class SeguimientoBitacoraSemanalSrv implements SeguimientoBitacoraSemanalInterface{
    @Resource
    private EJBContext context;
    private UserTransaction utx;
    @EJB
    private SeguimientoBitacoraSemanalFacadeLocal seguimientoBitacoraSemanalFacadeLocal;
    
    @Override
    public void crear(SeguimientoBitacoraSemanal seguimientoBitacoraSemanal) {
        try{
            utx = context.getUserTransaction();
            utx.begin();
            seguimientoBitacoraSemanalFacadeLocal.create(seguimientoBitacoraSemanal);
            utx.commit();
        } catch (RollbackException ex) {
            Logger.getLogger(SeguimientoBitacoraSemanalSrv.class.getName()).log(Level.SEVERE, null, ex);
        } catch (HeuristicMixedException ex) {
            Logger.getLogger(SeguimientoBitacoraSemanalSrv.class.getName()).log(Level.SEVERE, null, ex);
        } catch (HeuristicRollbackException ex) {
            Logger.getLogger(SeguimientoBitacoraSemanalSrv.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SecurityException ex) {
            Logger.getLogger(SeguimientoBitacoraSemanalSrv.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IllegalStateException ex) {
            Logger.getLogger(SeguimientoBitacoraSemanalSrv.class.getName()).log(Level.SEVERE, null, ex);
        } catch (NotSupportedException ex) {
            Logger.getLogger(SeguimientoBitacoraSemanalSrv.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SystemException ex) {
            Logger.getLogger(SeguimientoBitacoraSemanalSrv.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    @Override
    public Integer obtenerMaxId() {
        return seguimientoBitacoraSemanalFacadeLocal.obtenerMaxId();
    }

     @Override
    public void permitirEdicionSeguimientoBitacoraSemanal(SeguimientoBitacoraSemanal seguimientoBitacoraSemanal) {
        try{
            utx = context.getUserTransaction();
            utx.begin();
            seguimientoBitacoraSemanalFacadeLocal.edit(seguimientoBitacoraSemanal);
            utx.commit();
        } catch (NotSupportedException ex) {
            Logger.getLogger(SeguimientoBitacoraSemanalSrv.class.getName()).log(Level.SEVERE, null, ex);
        } catch (RollbackException ex) {
            Logger.getLogger(SeguimientoBitacoraSemanalSrv.class.getName()).log(Level.SEVERE, null, ex);
        } catch (HeuristicMixedException ex) {
            Logger.getLogger(SeguimientoBitacoraSemanalSrv.class.getName()).log(Level.SEVERE, null, ex);
        } catch (HeuristicRollbackException ex) {
            Logger.getLogger(SeguimientoBitacoraSemanalSrv.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SecurityException ex) {
            Logger.getLogger(SeguimientoBitacoraSemanalSrv.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IllegalStateException ex) {
            Logger.getLogger(SeguimientoBitacoraSemanalSrv.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SystemException ex) {
            Logger.getLogger(SeguimientoBitacoraSemanalSrv.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    @Override
    public SeguimientoBitacoraSemanal consultarSeguimientoBitacoraSemanal(int idSeguimientoBitacoraSemanal) {
        return seguimientoBitacoraSemanalFacadeLocal.consultarSeguimientoBitacoraSemanal(idSeguimientoBitacoraSemanal);
    }

    @Override
    public List<SeguimientoBitacoraSemanal> consultarSeguimientoBitacoraSemanalEdicionFormato(ConvenioXPeriodoXEstudiante convenioXPeriodoXEstudiante, boolean edicionFormato) {
        return seguimientoBitacoraSemanalFacadeLocal.consultarSeguimientoBitacoraSemanalEdicionFormato(convenioXPeriodoXEstudiante, edicionFormato);
    }

   

    
    
}
